
# 管理员下面的四个接口
"""
1. 创建一个类 ，用户管理员
2. 创建四个方法，对应四个接口
"""
from api.base import Base


class UserManager(Base):

    def __init__(self):
        self.add_user_url = self.get_url('/admin/admin/create')     # 新增用户URL
        self.edit_user_url = self.get_url('/admin/admin/update')    # 修改用户URL
        self.del_user_url = self.get_url('/admin/admin/delete')     # 删除用户URL
        self.get_user_url = self.get_url('/admin/admin/list?page=1&limit=20&sort=add_time&order=desc')  # 查询用户url
        # self.login()        # 为了调试使用，后面会去掉

    # 添加管理员
    def add_user(self,username,password,**kwargs):
        # 1. 定义一个字典 ：add_user , 默认将username和password放到此字典中 。 它的值来至于参数
        add_user = {"username":username,"password":password}
        # 2. 定义一个可变化参数 ，专门去接收可选项为否的字段 ，若此字典有值 ，将其更新到上面定义的字典中
        if kwargs:
            add_user.update(**kwargs)
        # 3. 将处理好的请求体放在post请求中去请求，将结果返回
        return self.post(self.add_user_url,add_user)


    # 修改管理员
    def edit_user(self,user_id,username,password,**kwargs):
        # 1. 定义一个默认字典，传递必填参数
        edit_user = {"id":user_id,"username":username,"password":password}
        # 2. 判断可变参数是否为空，若不为空，更新到字典中
        if kwargs:
            edit_user.update(**kwargs)
        # 3. 返回请求修改管理员的结果
        return self.post(self.edit_user_url,edit_user)


    # 删除管理员
    def del_user(self,user_id,username,**kwargs):
        del_user = {"id":user_id,"username":username}
        if kwargs:
            del_user.update(**kwargs)
        return self.post(self.del_user_url,del_user)


    # 查询管理员
    def get_user(self):
        # 1. 调用get方法，把查询接口的数据传进去
        return self.get(self.get_user_url)


if __name__ == '__main__':
    user = UserManager()
    print(user.add_user('test002','123456',avatar='https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',roleIds=[1]))